此篇随笔将示范array容器的基本操作1.介绍array容器在C++普通数组的基础上,添加了一些函数。在使用上,它比普通数组更安全。 2.头文件及命名空间1#include2usingnamespacestd; 3.举例arraydouble,10>arr;//声明一个装有10个double型元素的数组容器,容器名为arr 4.初始化1//array容器不会像普通数组那样进行默认初始化2arrayint,10>arr01{};//全部初始化为03arrayint,10>arr02{1,2,3};//前三个元素初始化为1,2,3,其他元素初始化为0//上述初始化可以加等号,但是务必注意必须显性初
------------恢复内容开始------------P2 1.container需要有allocator帮助分配内存,即每种container都得搭配一个allocator 2.container.begin()表示容器第一个元素的起始地址(指向第一个元素) container.end() 表示最后一个元素之后下一个元素的起始位置【*(container.end())=垃圾内存】 综上iterator本身类似一个指了针(可能本质就是指针实现的)可以(*,->,++,--) iterator本身是一个smartpointer【pointerlikeclass】P3
------------恢复内容开始------------P2 1.container需要有allocator帮助分配内存,即每种container都得搭配一个allocator 2.container.begin()表示容器第一个元素的起始地址(指向第一个元素) container.end() 表示最后一个元素之后下一个元素的起始位置【*(container.end())=垃圾内存】 综上iterator本身类似一个指了针(可能本质就是指针实现的)可以(*,->,++,--) iterator本身是一个smartpointer【pointerlikeclass】P3
C++进阶实例3--基于STL的演讲比赛流程管理系统1.头文件1.1speaker.h1#pragmaonce2#include34usingnamespacestd;56//创建选手类7classSpeaker{8public:9stringm_Name;//姓名10doublem_Score[2];//分数,最多有两轮得分11}; 1.2speechManager.h#pragmaonce//防止头文件重复包含#include#include#include#include"speaker.h"usingnamespacestd;//演讲比赛管理类//提供菜单界面与用户交互//对演讲比赛流
C++进阶实例3--基于STL的演讲比赛流程管理系统1.头文件1.1speaker.h1#pragmaonce2#include34usingnamespacestd;56//创建选手类7classSpeaker{8public:9stringm_Name;//姓名10doublem_Score[2];//分数,最多有两轮得分11}; 1.2speechManager.h#pragmaonce//防止头文件重复包含#include#include#include#include"speaker.h"usingnamespacestd;//演讲比赛管理类//提供菜单界面与用户交互//对演讲比赛流
C++进阶-2-STL初识1#include2#includestring>3#include4#include5usingnamespacestd;67//STL初识89//示例110//容器:vector算法11//算法:for_each12//迭代器:vector::iterator1314voidmyPrint(intval){15coutendl;16}1718//vector容器存放内置数据类型19voidtest01(){2021//创建vector容器,数组22vectorint>v;2324//向容器插入数据(尾插)25v.push_back(10);26v.push_bac
C++进阶-2-STL初识1#include2#includestring>3#include4#include5usingnamespacestd;67//STL初识89//示例110//容器:vector算法11//算法:for_each12//迭代器:vector::iterator1314voidmyPrint(intval){15coutendl;16}1718//vector容器存放内置数据类型19voidtest01(){2021//创建vector容器,数组22vectorint>v;2324//向容器插入数据(尾插)25v.push_back(10);26v.push_bac
STLSTL是“StandardTemplateLibrary”的缩写,中文译为“标准模板库”。#include#include(推荐)sort()sort函数用于给一个数组进行排序,在algorithm库里。使用方法为sort(v.begin(),v.end(),cmp)),这里的v.begin()是开始的指针位置,v.end()是结束的指针位置(这里的表示是左闭右开,也就是说v.end()并不在排序内容里),cmp可要可不要,如果使用的是自定义类型且没有重载运算符就一定需要。这个数组的类型可以是自定义类型或者STL中的vector,需要注意的是如果采用的是自定义类型则需要重载运算符(也可以
STLSTL是“StandardTemplateLibrary”的缩写,中文译为“标准模板库”。#include#include(推荐)sort()sort函数用于给一个数组进行排序,在algorithm库里。使用方法为sort(v.begin(),v.end(),cmp)),这里的v.begin()是开始的指针位置,v.end()是结束的指针位置(这里的表示是左闭右开,也就是说v.end()并不在排序内容里),cmp可要可不要,如果使用的是自定义类型且没有重载运算符就一定需要。这个数组的类型可以是自定义类型或者STL中的vector,需要注意的是如果采用的是自定义类型则需要重载运算符(也可以
前排提醒:由于MicrosoftDocs全是机翻。所以本文表格是我人脑补翻+审校。如果有纰漏、模糊及时反馈。了解每一种容器的特性、知道什么情况下用什么容器就可以。 序列式容器序列容器是指在逻辑上以线性排列方式存储给定类型元素的容器。这些容器和数组非常类似,都是在逻辑上连续的(但内存不一定是连续的),与数组不同的是,容器可以非常方便的动态管理,而不是固定元素大小。 std::vector当你需要容器时,就找vector!--BjarneStroustrup std::vector差不多是C++当中最常用的容器,它是一个模版类。你可以将它视作传统数组的动态功能增强版本,因此它的泛用性非常高。当你